home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / notes / callsSched < prev    next >
Text File  |  1992-01-30  |  4KB  |  124 lines

  1. # For context switch to WAITING, Sync_Wait will mark the process as
  2. # waiting/ready before/after calling condition_wait.
  3.  
  4. RememberUsage            # (record CPU usage for scheduling) delete.
  5.     sched/schedule.c
  6. SCHED_CONTEXT_SWITCH_PENDING    # (schedules a context switch if we can't just
  7.                 # do it right now) delete.
  8.     mach/sun3.md/machCode.c
  9.     mach/sun4.md/machCode.c
  10.     mach/ds3100.md/machCode.c
  11.     mach/ds5000.md/machCode.c
  12.     mach/symm.md/machTrap.c
  13.     proc/procMigrate.c
  14. SCHED_STACK_IN_USE        # (a processor is using this process's 
  15.                 # stack) delete.
  16.     main/symm.md/mainInit.c
  17.     proc/{procExit,procMigrate}.c
  18. SchedPrintSchedStats        # print whatever stats the kernel provides
  19. Sched_ContextSwitch        # (context switch to another process, leaving
  20.                 # the current process in the given state)
  21.                 # READY: call cthread_yield to do a context
  22.                 # switch.
  23.                 # WAITING: shouldn't happen
  24.                 # MIGRATED, EXITING, DEAD: exit; be sure to
  25.                 # zero out the thread's name.
  26.                 # SUSPENDED: punt.  (would sit in a loop,
  27.                 # waiting for the state to change, but getting
  28.                 # the synchronization right for access to the
  29.                 # pcb state seems hard.)
  30.                 # in all cases, also set state variable in pcb
  31.                 # Rename to Proc_ContextSwitch.
  32.     fs/fsCommand.c
  33.     proc/{procDebug,procExit,procMigrate}.c
  34.     sys/sysCalls.c
  35. Sched_ContextSwitchInt        # (internal context switch routine)  Keep if
  36.                 # sched_MutexPtr is kept.  See
  37.                 # Sched_ContextSwitch.
  38.     sync/syncLock.c
  39. Sched_DumpReadyQueue        # make no-op (or print some message)
  40.     utils/dump.c
  41. Sched_ForgetUsage        # (forget some CPU usage for all processes)
  42.                 # delete.
  43.     sched/sched.h
  44.     sched/schedule.c
  45. Sched_GatherProcessInfo        # (get utilization info) delete
  46.     timer/timerQueue.c
  47. Sched_IdleProcessor        # (disable a processor) no-op initially; use
  48.                 # processor_exit() (?) to disable the
  49.                 # processor (see DLB's paper or ask the
  50.                 # mailing list if this is correct); need a
  51.                 # check for disabling the processor you're on?
  52.     mach/symm.md/machSyscallTrace.c
  53.     sys/sysSysCall.c
  54. Sched_Init            # init. sched_mutexPtr; init instrumentation
  55.                 # numbers (if any)
  56.     main/sun4c.md/mainInit.c
  57.     main/sun3.md/mainInit.c
  58.     main/sun4.md/mainInit.c
  59.     main/ds3100.md/mainInit.c
  60.     main/sun4nw.md/mainInit.c
  61.     main/symm.md/mainInit.c
  62. Sched_InsertInQueue        # delete
  63.     sync/syncLock.c
  64. Sched_Instrument        # keep initially, zeroing out numbers that
  65.                 # aren't kept by Mach; if we want to keep these
  66.                 # numbers, may have to add our own
  67.                 # instrumentation to Mach.
  68.     sys/sysCalls.c
  69. Sched_LockAndSwitch        # (goes with SCHED_CONTEXT_SWITCH_PENDING)
  70.                 # delete
  71.     mach/sun3.md/machCode.c
  72.     mach/sun4.md/machCode.c
  73.     mach/ds3100.md/machCode.c
  74.     mach/ds5000.md/machCode.c
  75.     mach/symm.md/machTrap.c
  76. Sched_MakeReady            # Rename to Proc_MakeReady (see callsProc
  77.                 # list).
  78.     proc/{procDebug,procFork,procRemote}.c
  79. Sched_PrintStat            # print whatever stats the kernel can provide
  80.     sys/sysCalls.c
  81. Sched_SetClearUsageFlag        # (set flag so that usage information is
  82.                 # zeroed, for kernel worker processes)
  83.                 # no-op; eventually delete.
  84.     proc/procServer.c
  85. Sched_SetState            # (new) set process state; verify that
  86.                 # transition is okay (paranoia check).
  87. Sched_StartKernProc        # (start kernel process) tentatively don't
  88.                 # need this, because Proc_NewProc will get
  89.                 # rewritten.
  90.     proc/procFork.c
  91. Sched_StartProcessor        # (inverse of Sched_IdleProcess) see its
  92.                 # notes.
  93.     mach/symm.md/machSyscallTrace.c
  94.     sys/sysSysCall.c
  95. Sched_StartSchedStats        # keep
  96.     sys/sysCalls.c
  97. Sched_StartUserProc        # (starts user process) See
  98.                 # Sched_StartKernProc.
  99.     proc/procFork.c
  100. Sched_StopSchedStats        # keep
  101.     sys/sysCalls.c
  102. Sched_TimeTicks            # (count for 5 seconds to calibrate the clock)
  103.                 # delete.
  104.     main/sun4c.md/mainInit.c
  105.     main/sun3.md/mainInit.c
  106.     main/sun4.md/mainInit.c
  107.     main/ds3100.md/mainInit.c
  108.     main/sun4nw.md/mainInit.c
  109.     main/symm.md/mainInit.c
  110. ScheduleFunc            # keep
  111.     proc/procServer.c
  112. sched_Instrument        # see Sched_Instrument.
  113.     sys/sysCalls.c
  114. sched_MutexPtr            # keep.  (Eventually delete?  Are there any
  115.                 # data structures it is needed to protect,
  116.                 # what with Mach doing actual scheduling?)
  117.     proc/{procTable,procRemote}.c
  118.     sync/{syncSleep,syncLock,syncUser}.c
  119.  
  120. Local Variables:
  121. mode: xref
  122. fill-column: 78
  123. End:
  124.